阅读更多

1顶
0踩

开源软件

HP-Socket

    HP-Socket提供以下几类组件,详细内容请参考《HP-Socket网络通信框架开发指南》:

  • Server:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。
  • Agent:Agent组件实质上是Multi-Client组件,与Server组件采用相同的技术架构。一个Agent组件对象可同时建立和高效处理大规模Socket连接。
  • Client:基于Event Select / POLL通信模型,每个组件对象创建一个通信线程并管理一个Socket连接,适用于小规模客户端场景。

v5.3.1 更新

一、Linux版本更新

  1. Android NDK 支持:所有组件源码均可使用Android NDK编译,在Android平台上运行
  2. 增加 _ICONV_DISABLED 预编译宏用于关闭 iconv 库功能
  3. 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能
  4. 如果想去除 SSL 或 HTTP 组件,可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编

hp-socket for android

hp-socket for android

二、Windows版本更新

  1. 修复 C# SDK 关于 SSL 初始化失败 Bug
  2. 增加 _ZLIB_DISABLED 预编译宏用于关闭 zlib 库功能

三、其它更新

  1. http-parser 解析器升级到 2.8.1 版本
  2. OpenSSL 版本升级到 1.1.0h
  3. jemalloc 版本升级到 5.0.1 版本

v5.2.1 更新

一、发布包调整

  1. 版本号修订:Windows 和 Linux 发行版使用统一版本号
  2. 发布文件不再区分非 SSL DLL 和 SSL DLL,统一为 HPSocket DLL 和 HPSocket4C DLL
  3. 发布文件默认包含 SSL 和 HTTP 组件
  4. 如果想去除 SSL 或 HTTP 组件,可以分别定义 _SSL_DISABLED 或 _HTTP_DISABLED 宏重新编

新增 Linux SSL 组件

  1. Server: SSL Server, SSL Pull Server, SSL Pack Server
  2. Agent: SSL Agent, SSL Pull Agent, SSL Pack Agent
  3. Client: SSL Client, SSL Pull Client, SSL Pack Client

hp ssl

新增 Linux HTTP 组件

  1. Server: HTTP Server, HTTPS Server
  2. Agent: HTTP Agent, HTTP Agent
  3. Client: HTTP Client, HTTP Client, HTTP Sync Client, HTTPS Sync Client

hp http

新增 Linux Demo

  1. testecho-ssl: (SRC) SSL simple test echo server/agent/client
  2. testecho-ssl-pfm: (SO) SSL performance test echo server/agent/client
  3. testecho-ssl-pull: (SO) SSL pull echo server/agent/client
  4. testecho-ssl-pack: (4C SO) SSL pack echo server/agent/client
  5. testecho-http: (SRC) HTTP simple test echo server/agent/client/sync-client
  6. testecho-http-4c: (4C SO) HTTP simple test echo server/agent/client/sync-client
1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 一个java实现的简易编译器

    这是一个用java实现的简易的编译器,他能将一个具有加法和乘法的算术表达式编译成类汇编语言,这是我博文对应的代码,具体请参看我的博文: http://blog.csdn.net/tyler_download/article/details/50668983 例如输入 1+2*3+4; end end是必须的,表示输入结束,然后程序输出: t0 = 1 t1 = 2 t2 = 3 t1 *= t2 t0 += t1 t1 = 4 t0 += t1

  • 从零开始,学习如何编写自己的编译器

    编译器、转译器和解释器是三个类似的概念。编译器是一种程序,它将整个程序的源代码转换为计算机处理器可以执行的机器代码。转译器用于将一种高级语言转换为另一种高级语言,例如将Java转换为Javascript。解释器是一种直接读取并执行源代码的程序,不会创建可执行程序。

  • 如何开发一个深度学习编译器

    它可以自动地将高级深度学习模型表示转化为底层的计算图和代码,以便在不同的硬件平台上进行高效的执行。但是,本文提供的示例代码可以作为一个起点,帮助你理解深度学习编译器的基本原理和实现方式。生成目标代码的过程可以通过遍历AST并根据编译器的目标平台生成相应的代码指令。深度学习编译器的输入通常是高级的深度学习模型表示,如图形计算图或中间表示(例如,ONNX或TensorFlow的图表示)。编译器的输出是底层的计算图和代码,可以由底层的运行时系统执行。它将输入的模型表示转化为抽象的代码结构,方便后续的分析和优化。

  • 前端必备开发编译器详解

    前端开发编译器有很多,例如:WebStorm、VS Code、HBuilder X、Sublime Text等等。在这里就不一一介绍了,这里主要讲解VS Code和HBuilder X 编译器。介绍VS Code和HBuilder X的下载安装、常用快捷键、实用插件推荐等

  • 自己动手开发编译器(一)编译器的模块化工程

    原文地址为:自己动手开发编译器(一)编译器的模块化工程 本系列的第一篇,我想概述一下编译器的构造,同时帮助大家了解编译器中各个组成部分的用途。想必大家看别的编译原理书籍,大都在第一章或者序言之类的地方,将编译器分成许多模块,然后每一个模块负责编译的特定阶段,最后串起来组成完整的编译器。比如下面这张图就是虎书(Modern Compiler by Andrew W. Appel)第一章中出现的编译器阶段示意图: 那么,为什么要将编译器拆成一个个阶段,一个个模块呢?答案是,为了更加容易设计和理解。..

  • 如何构建一个简单的编译器

    但通过理解和实践这个简单的编译器,您可以对编译器的基本原理有一个初步的了解,并在此基础上深入学习和开发更复杂的编译器。语法分析的目标是根据词法分析阶段生成的标记序列,构建一个抽象语法树(Abstract Syntax Tree,AST)。遇到左括号时,我们创建一个新的列表作为当前节点的子节点,并将当前节点移动到新的子节点上;在软件开发领域中,编译器是一种重要的工具,用于将高级语言的代码转换为机器语言,以便计算机能够理解和执行。代码会遍历源代码的每个字符,根据字符的类型进行判断,并将标记存储在一个列表中。

  • 自己动手写一个编译器

    Pcode 是 TinyC 编译器的中间代码,是本人参考 pascal 编译器的中间代码 pcode 、并结合逆波兰表达式(后缀表达式)的逻辑后,设计出的一种非常简单的、基于栈和符号表的虚拟代码。Pcode 虚拟机是一个用来运行 Pcode 命令的、假想的机器,它包括:一个代码区(code)、一个指令指针(eip)、一个栈(stack)、一个变量表(var_table)、一个函数表(func_table)以及一个标签表(label_table)。

  • 开发一个编译器

    1、目的:开发一个编译器 1、编译器简介: 编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。 一个现代编译器的主要工作流程:源代码(source code) →预处理器(preprocessor) →编译器(compiler) →目标代码(object code) →链接器(Linker) → 可执行程序(executables) ...

  • 编译器开发语言选择:Rust 还是 OCaml

    【CSDN 编者按】这篇文章详细比较了 Rust 和 OCaml 在编译器开发中的优势和劣势。作者通过对两种语言的特性、性能、生态系统等方面的深入分析,为读者提供了一个全面的视角来理解这两种语言在编译器开发中的应用。原文链接:https://hirrolot.github.io/posts/compiler-development-rust-or-ocaml.html未经允许,禁止转载!作者 | ...

  • 【Linux系统学习】系统编程开发工具编译器gcc/g++使用

    Linux系统编程开发工具编译器gcc/g++篇!!!超详解!!!入门必看

  • c语言编译器是怎样开发的,如何编写属于自己的 C 语言编译器

    本文为编写 C 语言编译器系列文章的第一篇,为此我先说明一下我要如此做的一些理由:1. 通过编写过程,你会对抽象语法树(AST)以及程序如何表示和操作其他程序有清晰地了解,并可以熟练地使用 linters、静态分析器与各种各样的元编程。2. 你将对汇编,调用约定,以及所有相关的技术细节有个系统了解。3. 由于这是很困难的项目,所以整个过程我都在探索,有不对的地方请大家多指正。在过去的几个星期里,我...

  • 让你用C语言实现简单的编译器,从头开始写

    在当下的时代,'脚本语言/编程语言'数不胜数,很多人都认为自己学习编译原理是闭门造车,不应该去浪费时间学这个,却不知学习编译原理可以更好的理解编译器的运行过程。 就比如f1比赛,其实现在所有的车队可选的轮胎都是一样的,但不同车队根据自己车的情况和战术等做出的选择就会截然不同。如果你对轮胎的理解只是它可以转,那么你根本无法把它的能力发挥到极限。 下面这段我是在知乎找到的: ...

  • Lex_Yacc 编译器设计示例代码及参考文档

    Lex_Yacc 编译器设计示例代码及参考文档 1.LexAndYaccTutorial_20130311_041140.tgz代码包 生成 calc3a 解释执行 calc3b 生成基于栈的机器的汇编程序 calc3g 生成程序的语法树 用法: # ./calc3a a.src u = 5 5 120 halt a.src是个计算阶乘的源代码 n = 1; p = 1; read u; print u; while (n <= u) { p = p * n; n = n + 1; } print p; calc3b 生成基于栈的机器的汇编程序 用法: # ./calc3b a.src push 1 pop n push 1 pop p read pop u push u print L000: push n push u cmpLE jFalse L001 push p push n mul pop p push n push 1 add pop n jmp L000 L001: push p print halt 2.lexyacc-simple.tgz,一个简单的simple语言的编译器,可以解释执行,也可编译为栈机器的汇编语言。 3.cc-ansi99-parser_20130313_082654.tgz,一个ansi99标准的C语言的编译器,只进行词法和语法分析,不生成目标代码。 4.同时好有配套的2篇文档:LexAndYaccTutorial.pdf,Compiler Construction using Flex and Bison.pdf 供采用Lex Yacc进行编译器设计者参考

  • c++编译器的开发源代码!

    c++编译器的开发源代码!词法分析!语法分析!语义分析!自顶向下!

  • Abraxas pcyacc pclex 工具

    Abraxas yacc以及lex是windows平台上仅有的几款yacc工具中不错的一款。在中国网上很少见,这是从堪萨斯大学的网站上,原软件是收费的,分享给大家!

  • 编译器设计

    深入剖析现代编译器运用的算法和技术, 强调代码优化和代码生成, 体现编译原理教学的最新理念, 本书旨在介绍编译器构造法中的艺术和科学。书中深入分析现代编译器后端所用的算法和技术,重点讨论代码优化和代码生成,详细介绍了用几个编程语言编写的示例等。, Keith D. Cooper 莱斯大学计算机科学系计算工程专业Doerr特聘教授,曾任该系系主任。Cooper博士的研究课题涵盖过程间数据流分析、标量指令优化、寄存器分配以及指令调度等方面。, Linda Torczon 莱斯大学计算机科学系高级研究员。Torczon的研究内容主要包括代码生成、过程间数据流分析和优化、编程环境。

  • 自己开发的c++编译器

    编译原理课程用c++开发的c语言编译器,MFC开发

Global site tag (gtag.js) - Google Analytics